package com.jinke.api;

import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.collect.Maps;
import com.jinke.api.common.constant.TASMSConstants;
import com.jinke.api.common.constraint.EncryptType;
import com.jinke.api.common.domain.tasms.TASMSRecordDTO;
import com.jinke.api.common.domain.tasms.TASMSRecordResponse;
import com.jinke.api.common.domain.tasms.TASMSSendSMSDTO;
import com.jinke.api.common.domain.tasms.TASMSSendSMSResponse;
import com.jinke.api.common.util.FedexRateTool;
import com.jinke.api.common.util.OKHttpRetryRequestUtil;
import com.jinke.api.common.util.SHA256Util;
import com.jinke.api.common.util.SurchargeTool;
import com.jinke.api.component.MessageHint;
import com.jinke.api.modules.api.conf.ApiUrlsConfig;
import com.jinke.api.modules.app.config.NoModelDataListener;
import com.jinke.api.modules.app.config.TASMSService;
import com.jinke.api.modules.app.mapper.OrderMapper;
import com.jinke.api.modules.app.model.Order;
import com.jinke.api.modules.app.service.OrderService;
import com.jinke.api.modules.app.util.MathUtil;
import com.jinke.api.modules.app.util.OssUtil;
import com.jinke.api.modules.third.ezeeship.model.request.EstimateRateRequest;
import com.jinke.api.modules.third.huaLei.model.response.HuaLeiSelectAuthResponse;
import com.jinke.api.modules.third.huaLei.tool.HuaLeiRequest;
import com.jinke.api.modules.third.shippo.enums.ShippoContentsType;
import com.jinke.api.modules.third.shippo.enums.ShippoMassUnit;
import com.jinke.api.modules.third.shippo.enums.ShippoNonDeliveryOption;
import com.jinke.api.modules.third.shippo.model.constants.ShippoApiConstants;
import com.jinke.api.modules.third.shippo.model.dto.ShippoAddressReqDto;
import com.jinke.api.modules.third.shippo.model.dto.ShippoCreateDeclarationsDTO;
import com.jinke.api.modules.third.shippo.model.dto.ShippoRefundReqDTO;
import com.jinke.api.modules.third.shippo.model.response.*;
import com.jinke.api.modules.third.shippo.service.ShippoService;
import com.jinke.api.modules.third.shippo.tool.ShippoRequest;
import com.jinke.api.modules.third.uniuni.model.response.UniPrintPdtResponse;
import com.jinke.api.modules.third.uniuni.model.response.UniTrackingResponse;
import com.jinke.api.modules.third.uniuni.service.UniUniService;
import com.jinke.api.modules.third.uniuni.tool.UniUniRequest;
import com.jinke.api.modules.ums.model.UmsAdmin;
import com.jinke.api.modules.ums.model.UserChannel;
import com.jinke.api.modules.ums.service.IApiLogService;
import com.jinke.api.modules.ums.service.UmsAdminService;
import com.jinke.api.modules.ums.service.UserChannelService;
import com.jinke.api.security.util.AdminUserUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.compress.utils.Lists;
import org.bouncycastle.crypto.digests.*;
import org.bouncycastle.util.encoders.Hex;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;

import javax.annotation.Resource;
import java.io.IOException;
import java.math.BigDecimal;
import java.time.Instant;
import java.util.*;
import java.util.stream.IntStream;


/**
 * @author huang
 * @data 2024-05-09
 */
@SpringBootTest
@Slf4j
public class Huang {
    @Resource
    private OssUtil ossUtil;
    @Resource
    private OrderService orderService;
    @Resource
    private ApiUrlsConfig apiUrlsConfig;
    @Autowired
    private UmsAdminService umsAdminService;
    @Resource
    private UserChannelService userChannelService;
    @Resource
    private NoModelDataListener noModelDataListener;

    @Resource
    private RedisTemplate redisTemplate;
    @Resource
    private SurchargeTool surchargeTool;

    @Resource
    private FedexRateTool fedexRateTool;

    @Resource
    private UniUniRequest uniUniRequest;

    @Resource
    private UniUniService uniService;

    @Resource
    private ShippoRequest shippoRequest;

    @Resource
    private ShippoService shippoService;

    @Resource
    private OrderMapper orderMapper;

    @Resource
    private IApiLogService apiLogService;
    @Resource
    private TASMSService tasmsService;
    @Resource
    private MessageHint messageHint;
    @Resource
    private HuaLeiRequest huaLeiRequest;

    /**
     * 文件上传test
     */
    @Test
    void testBalanceLogHis() {
        String url = "https://cn.bing.com/images/search?view=detailV2&ccid=duz6S7Fv&id=82638C319DE398480EA765FE3BD3E1F3DA0202D0&thid=OIP.duz6S7Fvygrqd6Yj_DcXAQHaF7&mediaurl=https%3A%2F%2Fpic.3gbizhi.com%2F2019%2F0930%2F20190930015813827.jpg&exph=1024&expw=1280&q=%e5%9b%be%e7%89%87&simid=607993732914506962&form=IRPRST&ck=4A71F445206531E8643F264BD7642DB9&selectedindex=1&itb=0&ajaxhist=0&ajaxserp=0&vt=0&sim=11";
        String name = "526541asasa2";
        ossUtil.upload("pdf", name + ".pdf", url);
        String newPdfUrl = apiUrlsConfig.getDomain() + "/api/label/printLabel?objectId=" + name;
        orderService.lambdaUpdate().eq(Order::getId, 12072).set(Order::getPdfUrl, newPdfUrl).update();
    }

    @Test void  test(){
        BigDecimal addRate = umsAdminService.getRate(62);
        BigDecimal rate = new BigDecimal("44.10");
        UserChannel one = new UserChannel();
        one.setRate(new BigDecimal("1"));
        one.setPrice(new BigDecimal("0"));
        BigDecimal channelPrice = rate.multiply(addRate).multiply(one.getRate()).add(one.getPrice());
        System.out.println(MathUtil.formatBigDecimal(channelPrice.multiply(one.getRate()).add(one.getPrice())));
    }

    @Test
    void findRemoteZone() {
        List<String> zone = fedexRateTool.getZone("3211", "1233", 5);
        UmsAdmin umsAdmin = new UmsAdmin();
        log.info("zone result:{}", zone);
    }

    @Test
    void uniUniRequestTest() throws Exception {
        // 获取token
        /*UniTokenResponse token = uniUniRequest.getToken();
        log.info("token...[{}]", token);*/

        /*String body = "{\n    \"customer_no\": 160,\n    \"reference\": \"REF-1238088\",\n    \"trace_no\": \"TEST9123ASF812312\",\n    \"pickup_address\": \"10851 Shellbridge Way #100, Richmond, BC V6X 2W8\",\n    \"delivery_address\": \"10851 Shellbridge Way #100, Richmond, BC V6X 2W8\",\n    \"postal_code\": \"V6X 2W8\",\n    \"receiver\": \"Test receiver\",\n    \"delivery_unit_no\": \"#100\",\n    \"receiver_phone\": \"1234567890\",\n    \"receiver_email\": \"test@uniuni.com\",\n    \"length\": 11.42,\n    \"width\": 9.06,\n    \"height\": 2.36,\n    \"weight\": 1.76,\n    \"weight_uom\": \"LBS\",\n    \"dimension_uom\": \"IN\",\n    \"buzz_code\": \"123\",\n    \"require_signature\": false\n}";
        uniUniRequest.createBusinessOrder(body);*/

        String createOrderStr = "{\n" +
                "    \"from\": {\n" +
                "        \"addressLine1\": \"9520 7th Street\",\n" +
                "        \"addressLine2\": \"\",\n" +
                "        \"city\": \"Rancho Cucamonga\",\n" +
                "        \"company\": \"ABBLE\",\n" +
                "        \"countryCode\": \"US\",\n" +
                "        \"email\": \"\",\n" +
                "        \"personName\": \"AMZ-A\",\n" +
                "        \"phone\": \"9092440015\",\n" +
                "        \"stateCode\": \"CA\",\n" +
                "        \"zipCode\": \"91730\"\n" +
                "    },\n" +
                "    \"to\": {\n" +
                "        \"addressLine1\": \"W3401 LANGDELL RD\",\n" +
                "        \"addressLine2\": \"\",\n" +
                "        \"city\": \"Eau Claire\",\n" +
                "        \"company\": \"\",\n" +
                "        \"countryCode\": \"US\",\n" +
                "        \"email\": \"\",\n" +
                "        \"personName\": \"Sue Schellfeffer\",\n" +
                "        \"phone\": \"213-442-1463\",\n" +
                "        \"stateCode\": \"WI\",\n" +
                "        \"zipCode\": \"54701-2612\",\n" +
                "        \"isValid\": false,\n" +
                "        \"isResidential\": false\n" +
                "    },\n" +
                "    \"carrierCode\": \"\",\n" +
                "    \"serviceCode\": \"fedex_home_delivery\",\n" +
                "    \"channelId\": 10213,\n" +
                "    \"orderNO\": \"112-4285448-5994627\",\n" +
                "    \"parcels\": [\n" +
                "        {\n" +
                "            \"id\": 128909,\n" +
                "            \"createdAt\": \"2024-08-06 17:21:03\",\n" +
                "            \"updatedAt\": \"2024-08-06 17:21:03\",\n" +
                "            \"orderId\": 78646,\n" +
                "            \"paymentMethod\": \"any\",\n" +
                "            \"packageCode\": \"your_package\",\n" +
                "            \"packageNum\": 1,\n" +
                "            \"length\": 55.6,\n" +
                "            \"width\": 5.6,\n" +
                "            \"height\": 5.6,\n" +
                "            \"distanceUnit\": \"in\",\n" +
                "            \"weight\": 12.6,\n" +
                "            \"weight2\": 1,\n" +
                "            \"massUnit\": \"lb\",\n" +
                "            \"userId\": 62,\n" +
                "            \"seriNum\": 0,\n" +
                "            \"bbType\": \"lb/inch\"\n" +
                "        }\n" +
                "    ],\n" +
                "    \"extra\": {\n" +
                "        \"reference2\": \"300033\",\n" +
                "        \"reference\": \"AMZ-A  112-4285448-5994627\"\n" +
                "    }\n" +
                "}";
        EstimateRateRequest request = new EstimateRateRequest();

        //必填 此参数表示 Uniuni 接收货物的位置的完整地址。它用于计算运费，作为包裹的起点。
        // 请按照“市民号码+街道、城市、省/州、国家、邮政编码、#单位号码”的顺序操作。
        // 示例： 14438 S Avalon Blvd， Gardena， CA， USA， 90248 10020 29a Ave NW， Edmonton， AB， Canada， T6N 1A8， #202 255 个字符
        // 发货人完整地址 单位号码暂时没有 市民号码暂时用personName
        /*String fullFromAddress = request.getFrom().getPersonName()+" "
                +request.getFrom().getAddressLine1()+request.getFrom().getAddressLine2() +" "+request.getFrom().getCity()+" "+request.getFrom().getStateCode()+" "+request.getFrom().getCountryCode()+" "+request.getFrom().getZipCode();
        // 收货人完整地址 单位号码暂时没有 市民号码暂时用personName
        String fullToAddress = request.getTo().getPersonName()+" "+
                request.getTo().getAddressLine1()+request.getTo().getAddressLine2()+" "+request.getTo().getCity()+" "+request.getTo().getStateCode()+" "+request.getTo().getCountryCode()+" "+request.getTo().getZipCode();
        // 包裹信息 暂时拿第一个
        EstimateRateRequest.Parcel parcel = request.getParcels().get(0);
        // setCustomField json串 LabelExtra 打印在标签上的文字
        String reference = request.getExtra().getReference();// 键< 20 个字符， 值< 25 个字符
        String reference2 = request.getExtra().getReference2();// 键< 20 个字符， 值< 25 个字符*/

        // 创建订单测试...
        /*UniCreateBusOrderDto uniCreateBusOrderDto = new UniCreateBusOrderDto().setCustomerNo(request.getOrderNO()).setStartPostalCode(request.getFrom().getZipCode())
                .setPickupAddress(fullFromAddress)//.setPickupWarehouse()
                .setReceiver(request.getTo().getPersonName()).setPostalCode(request.getTo().getZipCode())
                .setDeliveryAddress(fullToAddress).setLength(new BigDecimal(parcel.getLength())).setWidth(new BigDecimal(parcel.getWidth())).setHeight(new BigDecimal(parcel.getHeight())).setWeight(new BigDecimal(parcel.getWeight()))
                .setCustomField();*/
        //UniResponse businessOrder = uniUniRequest.createBusinessOrder(null);

        // 通过内部帐号取消发货
        /*String s = uniUniRequest.deleteOrdersByIAN(new UniDelOrderIANReqDTO().setOrderNo("testtest"));
        UniResponse uniResponse = JSONObject.parseObject(s, UniResponse.class);
        log.info("返回结果:{}", s);*/

        // 通过追踪号码取消发货
        //uniUniRequest.cancelOrder(new UniCancelOrderReqDTO().setTno("UUS4891159312108814"));

        // printLabel .setLabelFormat("PDF格式").setType("base64")
        /*String s = uniUniRequest.printLabel(new UniPrintLabelReqDTO()
                .setPackageId("UUS4891152312111420").setLabelType(6).setLabelFormat("pdf").setType("base64"));
        File file = new File(s);
        log.info("res:[{}]", file.getName());*/

        String s = uniUniRequest.trackingUni("UUS48C1153312113432");
        s = "{\n" +
                "  \"status\": \"SUCCESS\",\n" +
                "  \"ret_msg\": \"\",\n" +
                "  \"err_code\": 0,\n" +
                "  \"data\": [\n" +
                "    {\n" +
                "      \"id\": 298787122,\n" +
                "      \"order_id\": 51155740,\n" +
                "      \"code\": \"ORDER_RECEIVED\",\n" +
                "      \"pathAddr\": \"UNI DATA CENTER\",\n" +
                "      \"pathInfo\": \"Order received\",\n" +
                "      \"pathTime\": 1718747596,\n" +
                "      \"traceSeq\": 0,\n" +
                "      \"staff_id\": null,\n" +
                "      \"is_updated\": 0,\n" +
                "      \"operate_warehouse\": null,\n" +
                "      \"exception\": 0,\n" +
                "      \"broken_count\": null,\n" +
                "      \"last_broken_time\": null,\n" +
                "      \"order_sn\": \"2024061851155740\",\n" +
                "      \"lat\": \"49.1875592\",\n" +
                "      \"lng\": \"-123.1058347\",\n" +
                "      \"shipper\": null,\n" +
                "      \"state\": 190,\n" +
                "      \"warehouse\": 1,\n" +
                "      \"pathAddress\": \"UNI DATA CENTER\",\n" +
                "      \"description_en\": \"Order received\",\n" +
                "      \"tno\": \"TEST9123ASF812312\",\n" +
                "      \"tracking_number\": \"TEST9123ASF812312\",\n" +
                "      \"data_source\": \"uniuni\",\n" +
                "      \"internal_account_number\": null,\n" +
                "      \"pathTimeZone\": \"America/Toronto\",\n" +
                "      \"pathTimeLocalized\": \"2024-06-18 17:53:16 -04:00\",\n" +
                "      \"pathTimeGMT\": \"2024-06-18 21:53:16\",\n" +
                "      \"city\": \"UNI DATA CENTER\"\n" +
                "    },\n" +
                "    {\n" +
                "      \"id\": 298787122,\n" +
                "      \"order_id\": 51155740,\n" +
                "      \"code\": \"ORDER_RECEIVED\",\n" +
                "      \"pathAddr\": \"UNI DATA CENTER\",\n" +
                "      \"pathInfo\": \"Order received\",\n" +
                "      \"pathTime\": 1718747596,\n" +
                "      \"traceSeq\": 0,\n" +
                "      \"staff_id\": null,\n" +
                "      \"is_updated\": 0,\n" +
                "      \"operate_warehouse\": null,\n" +
                "      \"exception\": 0,\n" +
                "      \"broken_count\": null,\n" +
                "      \"last_broken_time\": null,\n" +
                "      \"order_sn\": \"2024061851155740\",\n" +
                "      \"lat\": \"49.1875592\",\n" +
                "      \"lng\": \"-123.1058347\",\n" +
                "      \"shipper\": null,\n" +
                "      \"state\": 190,\n" +
                "      \"warehouse\": 1,\n" +
                "      \"pathAddress\": \"UNI DATA CENTER\",\n" +
                "      \"description_en\": \"Order received\",\n" +
                "      \"tno\": \"TEST9123ASF812312\",\n" +
                "      \"tracking_number\": \"TEST9123ASF812312\",\n" +
                "      \"data_source\": \"uniuni\",\n" +
                "      \"internal_account_number\": null,\n" +
                "      \"pathTimeZone\": \"America/Toronto\",\n" +
                "      \"pathTimeLocalized\": \"2024-06-18 17:53:16 -04:00\",\n" +
                "      \"pathTimeGMT\": \"2024-06-18 21:53:16\",\n" +
                "      \"city\": \"UNI DATA CENTER\"\n" +
                "    }\n" +
                "  ]\n" +
                "}";
        UniPrintPdtResponse bean = JSONUtil.toBean(s, UniPrintPdtResponse.class);
        List<UniTrackingResponse> list = JSONUtil.toList(bean.getData(), UniTrackingResponse.class);
        log.info("返回结果:{}", list);

        /*CommonResult<CreateLabelResponse.Data> label = uniService.getLabel("20240812b7f6a9", 183);
        log.info("label:[{}]", label);*/

        /*String s = uniUniRequest.printLabel(new UniPrintLabelReqDTO()
                .setPackageId("UUS48C1153312113432").setLabelType(6).setLabelFormat("pdf").setType("base64"));
        log.info("s:[{}]", s);*/

        //uniService.tracking("UUS48C1153312113432");

        /*String s = ossUtil.uploadBase64("pdf", "202408105972b0", "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NzA4IDYyNSA1NzEgNTQ5IDY1OSA2MTUgODkwIDYxNiA1NDkgNjE2IDM1MSAzMDMgMzUxIDc1NCA0NTAgNDUwIDU1MSA1NzEgNDk1IDU3MSA1NTQgMzE2IDU3MSA1NzAgMjUwIDI1MCA1MjEgMjUwIDg3NiA1NzAgNTUwIDU3MSA1NzEgMzcwIDQ2OSAzNTMgNTcwIDUzMiA3MzYgNTMyIDUzMiA0NzIgNTcyIDMwMyA1NzIgNzU0IF0KIF0KL0NJRFRvR0lETWFwIDEyIDAgUgo+PgplbmRvYmoKOSAwIG9iago8PC9MZW5ndGggMzQ2Pj4Kc3RyZWFtCi9DSURJbml0IC9Qcm9jU2V0IGZpbmRyZXNvdXJjZSBiZWdpbgoxMiBkaWN0IGJlZ2luCmJlZ2luY21hcAovQ0lEU3lzdGVtSW5mbwo8PC9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoVUNTKQovU3VwcGxlbWVudCAwCj4+IGRlZgovQ01hcE5hbWUgL0Fkb2JlLUlkZW50aXR5LVVDUyBkZWYKL0NNYXBUeXBlIDIgZGVmCjEgYmVnaW5jb2Rlc3BhY2VyYW5nZQo8MDAwMD4gPEZGRkY+CmVuZGNvZGVzcGFjZXJhbmdlCjEgYmVnaW5iZnJhbmdlCjwwMDAwPiA8RkZGRj4gPDAwMDA+CmVuZGJmcmFuZ2UKZW5kY21hcApDTWFwTmFtZSBjdXJyZW50ZGljdCAvQ01hcCBkZWZpbmVyZXNvdXJjZSBwb3AKZW5kCmVuZAoKZW5kc3RyZWFtCmVuZG9iagoxMCAwIG9iago8PC9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoVUNTKQovU3VwcGxlbWVudCAwCj4+CmVuZG9iagoxMSAwIG9iago8PC9UeXBlIC9Gb250RGVzY3JpcHRvcgovRm9udE5hbWUgL01QREZBQStEZWphVnVTYW5zQ29uZGVuc2VkCiAvQ2FwSGVpZ2h0IDcyOQogL1hIZWlnaHQgNTQ3CiAvRm9udEJCb3ggWy05MTggLTQ2MyAxNjE0IDEyMzJdCiAvRmxhZ3MgNAogL0FzY2VudCA5MjgKIC9EZXNjZW50IC0yMzYKIC9MZWFkaW5nIDAKIC9JdGFsaWNBbmdsZSAwCiAvU3RlbVYgODcKIC9NaXNz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IDQxMSA3NTQgNDUwIDQ1MCA2MDcgNjQ0IDUzMyA2NDQgNjEwIDM5MSA2NDQgNjQxIDMwOCAzMDggNTk4IDMwOCA5MzggNjQxIDYxOCA2NDQgNjQ0IDQ0NCA1MzYgNDMwIDY0MSA1ODYgODMxIDU4MCA1ODYgNTIzIDY0MSAzMjkgNjQxIDc1NCBdCiBdCi9DSURUb0dJRE1hcCAxOSAwIFIKPj4KZW5kb2JqCjE2IDAgb2JqCjw8L0xlbmd0aCAzNDY+PgpzdHJlYW0KL0NJREluaXQgL1Byb2NTZXQgZmluZHJlc291cmNlIGJlZ2luCjEyIGRpY3QgYmVnaW4KYmVnaW5jbWFwCi9DSURTeXN0ZW1JbmZvCjw8L1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChVQ1MpCi9TdXBwbGVtZW50IDAKPj4gZGVmCi9DTWFwTmFtZSAvQWRvYmUtSWRlbnRpdHktVUNTIGRlZgovQ01hcFR5cGUgMiBkZWYKMSBiZWdpbmNvZGVzcGFjZXJhbmdlCjwwMDAwPiA8RkZGRj4KZW5kY29kZXNwYWNlcmFuZ2UKMSBiZWdpbmJmcmFuZ2UKPDAwMDA+IDxGRkZGPiA8MDAwMD4KZW5kYmZyYW5nZQplbmRjbWFwCkNNYXBOYW1lIGN1cnJlbnRkaWN0IC9DTWFwIGRlZmluZXJlc291cmNlIHBvcAplbmQKZW5kCgplbmRzdHJlYW0KZW5kb2JqCjE3IDAgb2JqCjw8L1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChVQ1MpCi9TdXBwbGVtZW50IDAKPj4KZW5kb2JqCjE4IDAgb2JqCjw8L1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvTVBERkFBK0RlamFWdVNhbnNDb25kZW5zZWQtQm9sZAogL0NhcEhlaWdodCA3MjkKIC9YSGVpZ2h0IDU0NwogL0ZvbnRCQm94IFstOTYyIC00MTUgMTc3NyAxMTc1XQogL0ZsYWdzIDI2MjE0OAogL0FzY2VudCA5MjgKIC9EZXNjZW50IC0yMzYKIC9MZWFkaW5nIDAKIC9JdGFsaWNBbmdsZSAwCiAvU3RlbVYgMTY1CiAvTWlzc2luZ1dpZHRoIDU0MAogL1N0eWxlIDw8IC9QYW5vc2UgPCAw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b250IC9NUERGQUErRGVqYVZ1U2Fuc0NvbmRlbnNlZC1Cb2xkT2JsaXF1ZQovRW5jb2RpbmcgL0lkZW50aXR5LUgKL0Rlc2NlbmRhbnRGb250cyBbMjIgMCBSXQovVG9Vbmljb2RlIDIzIDAgUgo+PgplbmRvYmoKMjIgMCBvYmoKPDwvVHlwZSAvRm9udAovU3VidHlwZSAvQ0lERm9udFR5cGUyCi9CYXNlRm9udCAvTVBERkFBK0RlamFWdVNhbnNDb25kZW5zZWQtQm9sZE9ibGlxdWUKL0NJRFN5c3RlbUluZm8gMjQgMCBSCi9Gb250RGVzY3JpcHRvciAyNSAwIFIKL0RXIDU0MAovVyBbIDMyIFsgMzEzIDQxMCA0NjkgNjI2IDYyNiA5MDEgNzg1IDI3NSA0MTEgNDExIDQ3MCA3NTQgMzQyIDM3NCAzNDIgMzI5IF0KIDQ4IDU3IDYyNiA1OCA1OSAzNjAgNjAgNjIgNzU0IDYzIFsgNTIyIDkwMCA2OTYgNjg2IDY2MCA3NDcgNjE1IDYxNSA3MzggNzUzIDMzNCAzMzQgNjk3IDU3MyA4OTYgNzUzIDc2NSA2NTkgNzY1IDY5MyA2NDggNjE0IDczMCA2OTYgOTkzIDY5NCA2NTEgNjUyIDQxMSAzMjkgNDExIDc1NCA0NTAgNDUwIDYwNyA2NDQgNTMzIDY0NCA2MTAgMzkxIDY0NCA2NDEgMzA4IDMwOCA1OTggMzA4IDkzOCA2NDEgNjE4IDY0NCA2NDQgNDQ0IDUzNiA0MzAgNjQxIDU4NiA4MzEgNTgwIDU4NiA1MjMgNjQxIDMyOSA2NDEgNzU0IF0KIF0KL0NJRFRvR0lETWFwIDI2IDAgUgo+PgplbmRvYmoKMjMgMCBvYmoKPDwvTGVuZ3RoIDM0Nj4+CnN0cmVhbQovQ0lESW5pdCAvUHJvY1NldCBmaW5kcmVzb3VyY2UgYmVnaW4KMTIgZGljdCBiZWdpbgpiZWdpbmNtYXAKL0NJRFN5c3RlbUluZm8KPDwvUmVnaXN0cnkgKEFkb2JlKQovT3JkZXJpbmcgKFVDUykKL1N1cHBsZW1lbnQgMAo+PiBkZWYKL0NNYXBOYW1lIC9BZG9iZS1JZGVudGl0eS1VQ1MgZGVmCi9DTWFwVHlwZSAyIGRlZgoxIGJlZ2luY29kZXNw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MDAwMDI0MTQgMDAwMDAgbiAKMDAwMDAwMjQ4MyAwMDAwMCBuIAowMDAwMDAyNzkwIDAwMDAwIG4gCjAwMDAwMDMxNjYgMDAwMDAgbiAKMDAwMDAxNDc2OSAwMDAwMCBuIAowMDAwMDE0OTI3IDAwMDAwIG4gCjAwMDAwMTU0NzIgMDAwMDAgbiAKMDAwMDAxNTg2OCAwMDAwMCBuIAowMDAwMDE1OTM3IDAwMDAwIG4gCjAwMDAwMTYyNTUgMDAwMDAgbiAKMDAwMDAxNjYzMSAwMDAwMCBuIAowMDAwMDI4NzU1IDAwMDAwIG4gCjAwMDAwMjg5MjAgMDAwMDAgbiAKMDAwMDAyOTQ3MiAwMDAwMCBuIAowMDAwMDI5ODY4IDAwMDAwIG4gCjAwMDAwMjk5MzcgMDAwMDAgbiAKMDAwMDAzMDI2NCAwMDAwMCBuIAowMDAwMDMwNjQwIDAwMDAwIG4gCjAwMDAwNDI4ODQgMDAwMDAgbiAKMDAwMDA0NDQ1MyAwMDAwMCBuIAowMDAwMDQ0NzU0IDAwMDAwIG4gCjAwMDAwNDUwOTcgMDAwMDAgbiAKMDAwMDA0NTE4MSAwMDAwMCBuIAowMDAwMDQ1NjM5IDAwMDAwIG4gCjAwMDAwNDYxNjggMDAwMDAgbiAKMDAwMDA0NjQ2NCAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDM2Ci9Sb290IDM1IDAgUgovSW5mbyAzNCAwIFIKL0lEIFs8OWEzMmMwMDVjMGI0OTU0ZjExNWFkZmI0YTRkYjUwODE+IDw5YTMyYzAwNWMwYjQ5NTRmMTE1YWRmYjRhNGRiNTA4MT5dCj4+CnN0YXJ0eHJlZgo0NjU4OAolJUVPRg==");
        log.info("upload file:[{}]", s);*/


        /*String createLabelResp = "{\"status\":\"SUCCESS\",\"ret_msg\":\"\",\"err_code\":0,\"data\":{\"tno\":\"UUS4891155312112911\",\"order_id\":31211291,\"uni_order_sn\":\"2024080931211291\",\"uni_order_status\":\"ORDER_RECEIVED\",\"uni_status_code\":190,\"sorting\":1,\"source\":\"s\",\"order\":{\"start_consignee\":\"nina\",\"partner_shop_name\":\"Ship Cheap Inc\",\"partner_shop_id\":327,\"start_email\":\"sales@ship-cheap.com\",\"start_mobile\":\"57489385769\",\"start_address\":\"1134 Western Ave\",\"start_zipcode\":\"79905\",\"start_area\":0,\"start_sign_building\":\"\",\"start_lng\":-73.8205651,\"start_lat\":42.6753408,\"consignee\":\"test\",\"address\":\"1134 Western Ave\",\"zipcode\":\"91201\",\"end_area\":0,\"mobile\":\"37589409879\",\"phone_extra\":\"\",\"email\":\"\",\"sign_building\":\"\",\"transport_type\":0,\"buzz_code\":\"\",\"lng\":\"-118.288307\",\"lat\":\"34.171963\",\"postscript\":\"\",\"driver_notes\":\"Suspected Apt\\/Suspect\\u00e9 Apt\",\"task_type\":0,\"task_time\":\"\",\"task_speed\":2,\"extra_order_sn\":\"UUS4891155312112911\",\"referer\":\"L202408090115\",\"sub_referer\":\"N\\/A\",\"inv_type\":\"NORMAL\",\"warehouse\":1,\"pickup_warehouse\":1,\"type\":2,\"shipping_staff_id\":100151,\"receive_time_label\":\"08-09 10:00AM - 1:00PM\",\"fee\":0,\"pay_fee\":0,\"fee_per\":0,\"need_insure\":0,\"goods_value\":0,\"insure_fee\":0,\"need_box\":0,\"need_call\":0,\"distance\":0,\"shipping_fee\":6,\"tax\":0,\"pay_status\":0,\"pay_id\":8,\"pay_name\":\"EMT\",\"is_main_order\":0,\"order_amount\":0,\"user_id\":1,\"add_time\":1723194393,\"add_order_time\":\"2024-08-09 09:06:33\",\"shop_id\":5468,\"partner_id\":115,\"address_has_issue\":0,\"is_accepted\":1,\"carrier_id\":1,\"shop_lat\":42.6753408,\"shop_lng\":-73.8205651,\"shipping_name\":\"\",\"customer_id\":\"327\",\"main_order_id\":0,\"order_sn\":\"2024080931211291\",\"order_id\":31211291},\"tracking\":{\"order_id\":31211291,\"order_sn\":\"2024080931211291\",\"pathAddr\":\"UNI DATA CENTER\",\"pathInfo\":\"ORDER_RECEIVED\",\"state\":190,\"rcountry\":\"CA\",\"tno\":\"UUS4891155312112911\",\"is_addon\":0,\"second_delivery_sn\":\"\",\"consignee\":\"test\",\"address1\":\"1134 Western Ave\",\"shipper_country_code\":\"US\",\"city\":\"Glendale\",\"province\":\"CA\",\"province_code\":\"CA\",\"country_code\":\"US\",\"zip\":\"91201\",\"warehouse\":1,\"segment\":\"LAX-Zone-D\",\"owner\":\"LAX\",\"grid_code\":\"\",\"email\":\"\",\"phone\":\"37589409879\",\"reference\":\"L202408090115\",\"sub_reference\":\"N\\/A\",\"bag_no\":\"\",\"goods_type\":0,\"express_type\":0,\"danger_type\":0,\"weight_type\":2,\"size_type\":1,\"dispatch_type\":\"{\\\"SZ\\\":2,\\\"SG\\\":0,\\\"DT\\\":0,\\\"SP\\\":0}\",\"item_description\":\"\",\"require_signature\":0,\"length\":11,\"width\":11,\"height\":5,\"total_weight\":22.28,\"weight_uom\":\"LBS\",\"dimension_uom\":\"IN\",\"internal_account_number\":\"20240809c48ebd\",\"total_value\":\"\",\"currency\":\"CAD\",\"update_time\":1723194393,\"address_type\":1,\"shipper\":\"\",\"need_transshippment\":false},\"spath\":{\"order_id\":31211291,\"code\":190,\"pathAddr\":\"UNI DATA CENTER\",\"pathTime\":1723194393,\"pathInfo\":\"ORDER_RECEIVED\",\"traceSeq\":0}}}";
        UniResponse uniResponse = JSONObject.parseObject(createLabelResp, UniResponse.class);
        log.info("jsonformat:[{}]", uniResponse);*/


    }

    @Test
    void getRepOrderNo() {
        /*List<Order> rep = orderMapper.getRep("2024-07-01 00:00:00", "2024-08-15 23:59:59");
        LambdaQueryWrapper<Order> objectLambdaQueryWrapper = new LambdaQueryWrapper<Order>();
        objectLambdaQueryWrapper.select(Order::getId, Order::getOrderNo, Order::getCreateTime);
        rep.forEach(order -> {
            objectLambdaQueryWrapper.or().like(Order::getOrderNo, order.getOrderNo()+"_");
        });
        List<Order> orders = orderMapper.selectList(objectLambdaQueryWrapper);
        for (Order order : orders) {
            log.info("order.orderNo:[{}]", order.getOrderNo());
        }
        log.info("orders:[{}]", orders);*/
    }


    /**
     * shippo测试案例
     * @throws Exception
     */
    @Test
    void shippoRequestTest() throws Exception {

        /*String s = shippoRequest.sendPostRequest("https://api.goshippo.com" + ShippoApiConstants.TRANSACTION, "{\n" +
                "    \"servicelevel_token\": \"ups_ground\",\n" +
                "    \"shipment\": {\n" +
                "        \"async\": false,\n" +
                "        \"address_to\": {\n" +
                "            \"zip\": \"91201\",\n" +
                "            \"country\": \"US\",\n" +
                "            \"city\": \"Glendale\",\n" +
                "            \"phone\": \"37589409879\",\n" +
                "            \"name\": \"test\",\n" +
                "            \"company\": \"\",\n" +
                "            \"street1\": \"1134 Western Ave\",\n" +
                "            \"state\": \"CA\",\n" +
                "            \"email\": \"\"\n" +
                "        },\n" +
                "        \"address_from\": {\n" +
                "            \"zip\": \"79905\",\n" +
                "            \"country\": \"US\",\n" +
                "            \"metadata\": \"\",\n" +
                "            \"city\": \"El Paso\",\n" +
                "            \"phone\": \"57489385769\",\n" +
                "            \"name\": \"nina\",\n" +
                "            \"company\": \"\",\n" +
                "            \"street1\": \"5821 Ybarra ct\",\n" +
                "            \"state\": \"TX\",\n" +
                "            \"email\": \"\"\n" +
                "        },\n" +
                "        \"parcels\": {\n" +
                "            \"length\": \"1.00\",\n" +
                "            \"width\": \"1.00\",\n" +
                "            \"weight\": \"1.07\",\n" +
                "            \"distance_unit\": \"in\",\n" +
                "            \"height\": \"0.10\",\n" +
                "            \"mass_unit\": \"lb\"\n" +
                "        }\n" +
                "    },\n" +
                "    \"carrier_account\": \"dd621dd60e1f4c95ab07b10586cf948f\"\n" +
                "}");
        log.info("result:[{}]", s);*/

        //shippoService.getLabel("c91905b441a14ea9bcb3f9f039db8831");

        // 拿到单个面单
        /*String singleLabel = shippoRequest.getSingleLabel("c91905b441a14ea9bcb3f9f039db8831");
        ShippoLabelResponse shippoLabelResponse = Optional.ofNullable(JSONObject.parseObject(Optional.ofNullable(singleLabel).orElse("{}"), ShippoLabelResponse.class)).orElse(new ShippoLabelResponse());
        log.info("singleLabel:[{}], shippoLabelResponse:[{}]", singleLabel, shippoLabelResponse);*/

        // 退款/取消面单
        /*String refundResult = shippoRequest.refund(new ShippoRefundReqDTO().setTransaction("c91905b441a14ea9bcb3f9f039db8831"));
        ShippoRefundResponse shippoRefundResponse = Optional.ofNullable(JSONObject.parseObject(Optional.ofNullable(refundResult).orElse("{}"), ShippoRefundResponse.class)).orElse(new ShippoRefundResponse());
        log.info("refundResult:[{}], shippoRefundResponse:[{}]", refundResult, shippoRefundResponse);*/

        // 获取退款/取消面单结果状态
        /*String refundResult = shippoRequest.getSingleRefund("2245582");
        log.info("2245582返回数据:[{}]", refundResult);
        ShippoRefundResponse shippoRefundResponse = Optional.ofNullable(JSONObject.parseObject(Optional.ofNullable(refundResult).orElse("{}"), ShippoRefundResponse.class)).orElse(new ShippoRefundResponse());
        log.info("转化bean:[{}]", shippoRefundResponse);*/

        /*String trackResult = shippoRequest.getSingleTrack("usps", "9205590164917312751089");
        log.info("返回数据:[{}]", refundResult);
        ShippoTrackResponse shippoTrackResponse = Optional.ofNullable(JSONObject.parseObject(Optional.ofNullable(trackResult).orElse("{}"), ShippoTrackResponse.class)).orElse(new ShippoTrackResponse());
        log.info("转化bean:[{}], isNotNull:[{}], isNotEmpty:[{}], trackingStatus isNotNull:[{}], trackingStatus isNotEmpty:[{}]", shippoTrackResponse,
                ObjectUtil.isNotNull(shippoTrackResponse), ObjectUtil.isNotEmpty(shippoTrackResponse),
                ObjectUtil.isNotNull(shippoTrackResponse.getTrackingStatus()),
                ObjectUtil.isNotEmpty(shippoTrackResponse.getTrackingStatus()));*/

        //
        /*String reqStr = "{\n" +
                "    \"from\": {\n" +
                "        \"id\": 444,\n" +
                "        \"createdAt\": \"2024-08-05 14:27:01\",\n" +
                "        \"updatedAt\": \"2024-08-05 14:27:01\",\n" +
                "        \"userId\": 245,\n" +
                "        \"countryCode\": \"US\",\n" +
                "        \"stateCode\": \"CA\",\n" +
                "        \"city\": \"El Monte\",\n" +
                "        \"addressLine1\": \"10501 Valley Blvd\",\n" +
                "        \"addressLine2\": \"Suite 1836\",\n" +
                "        \"zipCode\": \"91731\",\n" +
                "        \"personName\": \"KAOBON\",\n" +
                "        \"company\": \"\",\n" +
                "        \"phone\": \"6263509966\",\n" +
                "        \"email\": \"\",\n" +
                "        \"isValid\": false,\n" +
                "        \"isResidential\": false,\n" +
                "        \"title\": \"KAOBON2\",\n" +
                "        \"label\": \"KAOBON2\",\n" +
                "        \"value\": 444\n" +
                "    },\n" +
                "    \"to\": {\n" +
                "        \"addressLine1\": \"1425 LIBERTY AVE\",\n" +
                "        \"addressLine2\": \"\",\n" +
                "        \"city\": \"Ogden\",\n" +
                "        \"countryCode\": \"US\",\n" +
                "        \"stateCode\": \"UT\",\n" +
                "        \"zipCode\": \"84404\",\n" +
                "        \"company\": \"\",\n" +
                "        \"personName\": \"CHERALEIGH SCOTT\",\n" +
                "        \"phone\": \"415-419-8616 \",\n" +
                "        \"email\": \"\",\n" +
                "        \"isValid\": false,\n" +
                "        \"isResidential\": false\n" +
                "    },\n" +
                "    \"carrierCode\": \"\",\n" +
                "    \"serviceCode\": \"113_USPS94A\",\n" +
                "    \"channelId\": 10215,\n" +
                "    \"orderNO\": \"\",\n" +
                "    \"batchNo\": \"\",\n" +
                "    \"parcels\": [\n" +
                "        {\n" +
                "            \"distanceUnit\": \"in\",\n" +
                "            \"height\": 8,\n" +
                "            \"length\": 12,\n" +
                "            \"massUnit\": \"lb\",\n" +
                "            \"packageCode\": \"your_package\",\n" +
                "            \"reference\": \"\",\n" +
                "            \"reference2\": \"\",\n" +
                "            \"packageNum\": 1,\n" +
                "            \"weight\": 9,\n" +
                "            \"weight2\": 1,\n" +
                "            \"packageAmount\": 1,\n" +
                "            \"width\": 12\n" +
                "        }\n" +
                "    ],\n" +
                "    \"extra\": {\n" +
                "        \"reference2\": \"\",\n" +
                "        \"reference\": \"\"\n" +
                "    },\n" +
                "    \"orderId\": null,\n" +
                "    \"isTest\": true\n" +
                "}";
        EstimateRateRequest estimateRateRequest = JSONObject.parseObject(reqStr, EstimateRateRequest.class);
        String s = shippoRequest.create(estimateRateRequest, Lists.newArrayList());
        log.info("创建返回结果:[{}]", s);*/

        /*String addressValidation = shippoRequest.createAddressValidation(new ShippoAddressReqDto()
                .setName("KAOBON")
                .setCompany("")
                .setStreet1("10501 Valley Blvd")
                .setStreet2("Suite 1836")
                .setStreet3("")
                .setStreetNo("")
                .setCity("El Monte")
                .setState("CA")
                .setZip("91731")
                .setCountry("US")
                .setPhone("6263509966")
                .setEmail("")
                .setIsResidential(false)
                .setMetadata("")
                .setValidate(true));
        log.info("创建地址验证:[{}]", addressValidation);
        ShippoAddressResponse shippoAddressResponse = Optional.ofNullable(JSONObject.parseObject(Optional.ofNullable(addressValidation).orElse("{}"), ShippoAddressResponse.class)).orElse(new ShippoAddressResponse());
        log.info("创建地址验证返回结果:[{}], 结果:[{}]", shippoAddressResponse,
                Optional.ofNullable(shippoAddressResponse.getValidationResults())
                        .orElse(new ShippoAddressResponse.ValidationResults()).getIsValid());*/
        // 创建报关单
        ShippoCreateDeclarationsDTO.DeclarationItem declarationItem = new ShippoCreateDeclarationsDTO.DeclarationItem().setDescription("test").setMassUnit(ShippoMassUnit.kg.name())
                .setNetWeight(new BigDecimal("30.5")).setOriginCountry("US").setQuantity(new BigDecimal("1"))
                .setValueAmount(new BigDecimal("33")).setValueCurrency("USD");
        List<ShippoCreateDeclarationsDTO.DeclarationItem> items = Lists.newArrayList();
        items.add(declarationItem);
        ShippoCreateDeclarationsDTO shawn_ippotl = new ShippoCreateDeclarationsDTO()
                .setCertify(true).setCertifySigner("Shawn Ippotl").setContentsType(ShippoContentsType.GIFT.name())
                .setItems(items).setNonDeliveryOption(ShippoNonDeliveryOption.RETURN.name());
       // String s = shippoRequest.customsDeclaration(shawn_ippotl);
//        ShippoDeclarationResponse shippoDeclarationResponse = JSONObject.parseObject(Optional.ofNullable(s).orElse("{}"), ShippoDeclarationResponse.class);
//        log.info("报关单结果 s:[{}], 实体:[{}]", s, shippoDeclarationResponse);
    }


    @Test
    void tasmsTest() {

        List<TASMSSendSMSDTO.Phone> phones = Lists.newArrayList();
        String phone="18557516191";
        //phone="13638628989";
        phones.add(new TASMSSendSMSDTO.Phone().setPhone("86"+phone).setVariables(Lists.newArrayList()));

        TASMSSendSMSDTO tasmsSendSMSDTO = new TASMSSendSMSDTO()
                //.setContent("testContent测试发送短信")
                .setContent("【TALK2ALL】你的验证码是123456.")
                .setPhones(phones)
                .setNonceStr(OKHttpRetryRequestUtil.length20nonceStr())
                .setTimestamp(String.valueOf(Instant.now().toEpochMilli()))
                .setSignType(EncryptType.SHA256.name())
                .setSpNumber("106900000000")
                .setUsername(TASMSConstants.CHANNEL_NAME);
        TASMSSendSMSResponse tasmsSendSMSResponse = tasmsService.sendSMS(tasmsSendSMSDTO);
        log.info("发送短信结果:[{}]", tasmsSendSMSResponse);

        List<TASMSRecordResponse> tasmsRecordResponses = tasmsService.smsRecords(new TASMSRecordDTO()
                .setTraceId(tasmsSendSMSResponse.getTraceId())
                .setTimestamp(String.valueOf(Instant.now().toEpochMilli()))
                .setUsername(TASMSConstants.CHANNEL_NAME)
                .setNonceStr(OKHttpRetryRequestUtil.length20nonceStr())
                .setSignType(EncryptType.SHA256.name()));
        tasmsRecordResponses.forEach(tasmsRecordResponse -> {
            switch (tasmsRecordResponse.getStatus()) {
                case "WAITING":
                    //待发送。超过发送速率或定时短信
                    break;
                case "SENDING":
                    //发送中。分拣路由完
                    break;
                case "SENT":
                    //已提交。已发送至上游
                    break;
                case "CANCELED":
                    //取消发送。定时短信取消
                    break;
                case "SORT_FAIL":
                    //分拣失败。分拣异常
                    break;
                case "SEND_FAIL":
                    //发送失败。路由异常
                    break;
                default:
                    break;
            }
        });
        log.info("查询短信结果:[{}]", tasmsRecordResponses);
    }

    @Test
    void messageHintTest() {
        UmsAdmin userInfo = AdminUserUtil.getUserInfo();
        log.info("userInfo:[{}]", userInfo);
        Locale userLocale = userInfo.getUserLocale();
        Object[] objects = {"第一个值", "第二个值", "第三个值"};
        log.info("zh_cn  messageHint:[{}]", messageHint.getMessage("msg.test.param",  objects, Locale.CHINA));
        log.info("en_us  messageHint:[{}]", messageHint.getMessage("msg.test.param",  objects, Locale.US));
        log.info("en_us  messageHint:[{}]", messageHint.getMessage("msg.test.param",  objects, userLocale));
        //String cacheKey = Optional.ofNullable(request.getChannelPlatformId()).orElse(-1) + "_" + Optional.ofNullable(request.getChannelCarrierId()).orElse(-1);
    }

    @Test
    void huaLeiTest() {
        /*HuaLeiSelectAuthResponse huaLeiSelectAuthResponse = JSONObject.parseObject(Optional.ofNullable(huaLeiRequest.selectAuth()).orElse("{}"), HuaLeiSelectAuthResponse.class);
        log.info("华磊身份认证返回结果:{}", huaLeiSelectAuthResponse);*/

        String productListResponse = huaLeiRequest.getProductList();
        log.info("华磊渠道列表:[{}]", productListResponse);
    }
}
